'\" t
.\"     Title: mosquitto_ctrl
.\"    Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\"      Date: 11/17/2021
.\"    Manual: Commands
.\"    Source: Mosquitto Project
.\"  Language: English
.\"
.TH "MOSQUITTO_CTRL" "1" "11/17/2021" "Mosquitto Project" "Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
mosquitto_ctrl \- a tool for initialising/configuring a Mosquitto broker instance
.SH "SYNOPSIS"
.HP \w'\fBmosquitto_ctrl\fR\ 'u
\fBmosquitto_ctrl\fR [connection\-options\ |\ \-o\ config\-file] module\-name module\-command [command\-options]
.HP \w'\fBconnection\-options:\fR\ 'u
\fBconnection\-options:\fR {[\fB\-h\fR\ \fIhostname\fR]\ [\fB\-\-unix\fR\ \fIsocket\ path\fR]\ [\fB\-p\fR\ \fIport\-number\fR]\ [\fB\-u\fR\ \fIusername\fR]\ [\fB\-P\fR\ \fIpassword\fR]  | \fB\-L\fR\ \fIURL\fR} [\fB\-A\fR\ \fIbind\-address\fR] [\fB\-c\fR] [\fB\-d\fR] [\fB\-i\fR\ \fIclient\-id\fR] [\fB\-q\fR\ \fImessage\-QoS\fR] [\fB\-\-quiet\fR] [\fB\-V\fR\ \fIprotocol\-version\fR] [[{\fB\-\-cafile\fR\ \fIfile\fR\ |\ \fB\-\-capath\fR\ \fIdir\fR}\ [\fB\-\-cert\fR\ \fIfile\fR]\ [\fB\-\-key\fR\ \fIfile\fR]\ [\fB\-\-ciphers\fR\ \fIciphers\fR]\ [\fB\-\-tls\-version\fR\ \fIversion\fR]\ [\fB\-\-tls\-alpn\fR\ \fIprotocol\fR]\ [\fB\-\-tls\-engine\fR\ \fIengine\fR]\ [\fB\-\-keyform\fR\ {\fIpem\fR\ |\ \fIengine\fR}]\ [\fB\-\-tls\-engine\-kpass\-sha1\fR\ \fIkpass\-sha1\fR]\ [\fB\-\-insecure\fR]] | [\fB\-\-psk\fR\ \fIhex\-key\fR\ \fB\-\-psk\-identity\fR\ \fIidentity\fR\ [\fB\-\-ciphers\fR\ \fIciphers\fR]\ [\fB\-\-tls\-version\fR\ \fIversion\fR]]] [\fB\-\-proxy\fR\ \fIsocks\-url\fR]
.HP \w'\fBmosquitto_ctrl\fR\ 'u
\fBmosquitto_ctrl\fR [\fB\-\-help\fR]
.SH "DESCRIPTION"
.PP
\fBmosquitto_ctrl\fR
is a tool for helping configure a Mosquitto broker instance\&.
.SH "ENCRYPTED CONNECTIONS"
.PP
\fBmosquitto_ctrl\fR
supports TLS encrypted connections\&. It is strongly recommended that you use an encrypted connection for all remote use of mosquitto_ctrl\&.
.PP
To enable TLS connections when using x509 certificates, one of either
\fB\-\-cafile\fR
or
\fB\-\-capath\fR
must be provided as an option\&.
.PP
To enable TLS connections when using TLS\-PSK, you must use the
\fB\-\-psk\fR
and the
\fB\-\-psk\-identity\fR
options\&.
.SH "MODULES"
.PP
\fBDynamic security\fR
.RS 4
Authentication, and role based access control with users and groups\&. Uses the
\fBdynsec\fR
module name\&. See:
\fBmosquitto_ctrl_dynsec\fR(1)
.RE
.PP
\fBExternal modules\fR
.RS 4
\fBmosquitto_ctrl\fR
has the ability to load external modules in the form of shared libraries\&. For example using the module name
\fBexample\fR
will try to load the external module
\fBmosquitto_ctrl_example\&.so\fR
or
\fBmosquitto_ctrl_example\&.dll\fR, depending on platform\&. This allows new functionality to be added to Mosquitto by combining a plugin and mosquitto_ctrl module, without having to recompile any Mosquitto source code\&.
.RE
.SH "CONNECTION OPTIONS"
.PP
The options below may be given on the command line, but may also be placed in a config file located at
\fB$XDG_CONFIG_HOME/mosquitto_ctrl\fR
or
\fB$HOME/\&.config/mosquitto_ctrl\fR\&.
.PP
The config file may be specified manually with the
\fB\-o \fR\fB\fIconfig\-file\fR\fR
option\&.
.PP
The config file should have one pair of
\fB\-option \fR\fB\fIvalue\fR\fR
per line\&. The values in the config file will be used as defaults and can be overridden by using the command line\&. The exceptions to this are the message type options, of which only one can be specified\&. Note also that currently some options cannot be negated, e\&.g\&.
\fB\-S\fR\&. Config file lines that have a
\fB#\fR
as the first character are treated as comments and not processed any further\&.
.PP
\fB\-A\fR
.RS 4
Bind the outgoing connection to a local ip address/hostname\&. Use this argument if you need to restrict network communication to a particular interface\&.
.RE
.PP
\fB\-\-cafile\fR
.RS 4
Define the path to a file containing PEM encoded CA certificates that are trusted\&. Used to enable SSL communication\&.
.sp
See also
\fB\-\-capath\fR
.RE
.PP
\fB\-\-capath\fR
.RS 4
Define the path to a directory containing PEM encoded CA certificates that are trusted\&. Used to enable SSL communication\&.
.sp
For
\fB\-\-capath\fR
to work correctly, the certificate files must have "\&.crt" as the file ending and you must run "openssl rehash <path to capath>" each time you add/remove a certificate\&.
.sp
See also
\fB\-\-cafile\fR
.RE
.PP
\fB\-\-cert\fR
.RS 4
Define the path to a file containing a PEM encoded certificate for this client, if required by the server\&.
.sp
See also
\fB\-\-key\fR\&.
.RE
.PP
\fB\-\-ciphers\fR
.RS 4
An openssl compatible list of TLS ciphers to support in the client\&. See
\fBciphers\fR(1)
for more information\&.
.RE
.PP
\fB\-d\fR, \fB\-\-debug\fR
.RS 4
Enable debug messages\&.
.RE
.PP
\fB\-D\fR, \fB\-\-property\fR
.RS 4
Use an MQTT v5 property with this publish\&. If you use this option, the client will be set to be an MQTT v5 client\&. This option has two forms:
.sp
\fB\-D command identifier value\fR
.sp
\fB\-D command identifier name value\fR
.sp
\fBcommand\fR
is the MQTT command/packet identifier and can be one of CONNECT, PUBLISH, PUBREL, DISCONNECT, AUTH, or WILL\&. The properties available for each command are listed in the
Properties
section\&.
.sp
\fBidentifier\fR
is the name of the property to add\&. This is as described in the specification, but with \*(Aq\-\*(Aq as a word separator\&. For example:
\fBpayload\-format\-indicator\fR\&. More details are in the
Properties
section\&.
.sp
\fBvalue\fR
is the value of the property to add, with a data type that is property specific\&.
.sp
\fBname\fR
is only used for the
\fBuser\-property\fR
property as the first of the two strings in the string pair\&. In that case,
\fBvalue\fR
is the second of the strings in the pair\&.
.RE
.PP
\fB\-\-help\fR
.RS 4
Display usage information\&.
.RE
.PP
\fB\-h\fR, \fB\-\-host\fR
.RS 4
Specify the host to connect to\&. Defaults to localhost\&.
.RE
.PP
\fB\-i\fR, \fB\-\-id\fR
.RS 4
The id to use for this client\&. If not given, a client id will be generated depending on the MQTT version being used\&. For v3\&.1\&.1/v3\&.1, the client generates a client id in the format
\fBmosq\-XXXXXXXXXXXXXXXXXX\fR, where the
\fBX\fR
are replaced with random alphanumeric characters\&. For v5\&.0, the client sends a zero length client id, and the server will generate a client id for the client\&.
.sp
This option cannot be used at the same time as the
\fB\-\-id\-prefix\fR
argument\&.
.RE
.PP
\fB\-\-insecure\fR
.RS 4
When using certificate based encryption, this option disables verification of the server hostname in the server certificate\&. This can be useful when testing initial server configurations but makes it possible for a malicious third party to impersonate your server through DNS spoofing, for example\&. Use this option in testing
\fIonly\fR\&. If you need to resort to using this option in a production environment, your setup is at fault and there is no point using encryption\&.
.RE
.PP
\fB\-\-key\fR
.RS 4
Define the path to a file containing a PEM encoded private key for this client, if required by the server\&.
.sp
See also
\fB\-\-cert\fR\&.
.RE
.PP
\fB\-\-keyform\fR
.RS 4
Specifies the type of private key in use when making TLS connections\&.\&. This can be "pem" or "engine"\&. This parameter is useful when a TPM module is being used and the private key has been created with it\&. Defaults to "pem", which means normal private key files are used\&.
.sp
See also
\fB\-\-tls\-engine\fR\&.
.RE
.PP
\fB\-L\fR, \fB\-\-url\fR
.RS 4
Specify specify user, password, hostname, port and topic at once as a URL\&. The URL must be in the form: mqtt(s)://[username[:password]@]host[:port]/topic
.sp
If the scheme is mqtt:// then the port defaults to 1883\&. If the scheme is mqtts:// then the port defaults to 8883\&.
.RE
.PP
\fB\-\-nodelay\fR
.RS 4
Disable Nagle\*(Aqs algorithm for the socket\&. This means that latency of sent messages is reduced, which is particularly noticable for small, reasonably infrequent messages\&. Using this option may result in more packets being sent than would normally be necessary\&.
.RE
.PP
\fB\-o\fR \fIconfig\-file\fR
.RS 4
Provide a path to a config file to load options from\&. The config file should have one pair of
\fB\-option \fR\fB\fIvalue\fR\fR
per line\&. The values in the config file will be used as defaults and can be overridden by using the command line\&. The exceptions to this are the message type options, of which only one can be specified\&. Note also that currently some options cannot be negated, e\&.g\&.
\fB\-S\fR\&. Config file lines that have a
\fB#\fR
as the first character are treated as comments and not processed any further\&.
.RE
.PP
\fB\-p\fR, \fB\-\-port\fR
.RS 4
Connect to the port specified\&. If not given, the default of 1883 for plain MQTT or 8883 for MQTT over TLS will be used\&.
.RE
.PP
\fB\-P\fR, \fB\-\-pw\fR
.RS 4
Provide a password to be used for authenticating with the broker\&. Using this argument without also specifying a username is invalid when using MQTT v3\&.1 or v3\&.1\&.1\&. See also the
\fB\-\-username\fR
option\&.
.RE
.PP
\fB\-\-proxy\fR
.RS 4
Specify a SOCKS5 proxy to connect through\&. "None" and "username" authentication types are supported\&. The
\fBsocks\-url\fR
must be of the form
\fBsocks5h://[username[:password]@]host[:port]\fR\&. The protocol prefix
\fBsocks5h\fR
means that hostnames are resolved by the proxy\&. The symbols %25, %3A and %40 are URL decoded into %, : and @ respectively, if present in the username or password\&.
.sp
If username is not given, then no authentication is attempted\&. If the port is not given, then the default of 1080 is used\&.
.sp
More SOCKS versions may be available in the future, depending on demand, and will use different protocol prefixes as described in
\fBcurl\fR(1)\&.
.RE
.PP
\fB\-\-psk\fR
.RS 4
Provide the hexadecimal (no leading 0x) pre\-shared\-key matching the one used on the broker to use TLS\-PSK encryption support\&.
\fB\-\-psk\-identity\fR
must also be provided to enable TLS\-PSK\&.
.RE
.PP
\fB\-\-psk\-identity\fR
.RS 4
The client identity to use with TLS\-PSK support\&. This may be used instead of a username if the broker is configured to do so\&.
.RE
.PP
\fB\-q\fR, \fB\-\-qos\fR
.RS 4
Specify the quality of service to use for messages, from 0, 1 and 2\&. Defaults to 1\&.
.RE
.PP
\fB\-\-quiet\fR
.RS 4
If this argument is given, no runtime errors will be printed\&. This excludes any error messages given in case of invalid user input (e\&.g\&. using
\fB\-\-port\fR
without a port)\&.
.RE
.PP
\fB\-\-tls\-alpn\fR
.RS 4
Provide a protocol to use when connecting to a broker that has multiple protocols available on a single port, e\&.g\&. MQTT and WebSockets\&.
.RE
.PP
\fB\-\-tls\-engine\fR
.RS 4
A valid openssl engine id\&. These can be listed with openssl engine command\&.
.sp
See also
\fB\-\-keyform\fR\&.
.RE
.PP
\fB\-\-tls\-engine\-kpass\-sha1\fR
.RS 4
SHA1 of the private key password when using an TLS engine\&. Some TLS engines such as the TPM engine may require the use of a password in order to be accessed\&. This option allows a hex encoded SHA1 hash of the password to the engine directly, instead of the user being prompted for the password\&.
.sp
See also
\fB\-\-tls\-engine\fR\&.
.RE
.PP
\fB\-\-tls\-version\fR
.RS 4
Choose which TLS protocol version to use when communicating with the broker\&. Valid options are
\fBtlsv1\&.3\fR,
\fBtlsv1\&.2\fR
and
\fBtlsv1\&.1\fR\&. The default value is
\fBtlsv1\&.2\fR\&. Must match the protocol version used by the broker\&.
.RE
.PP
\fB\-u\fR, \fB\-\-username\fR
.RS 4
Provide a username to be used for authenticating with the broker\&. See also the
\fB\-\-pw\fR
argument\&.
.RE
.PP
\fB\-\-unix\fR
.RS 4
Connect to a broker through a local unix domain socket instead of a TCP socket\&. This is a replacement for
\fB\-h\fR
and
\fB\-L\fR\&. For example:
\fBmosquitto_ctrl \-\-unix /tmp/mosquitto\&.sock \&.\&.\&.\fR
.sp
See the
\fBsocket_domain\fR
option in
\m[blue]\fBmosquitto\&.conf\fR\m[](5)
to configure Mosquitto to listen on a unix socket\&.
.RE
.PP
\fB\-V\fR, \fB\-\-protocol\-version\fR
.RS 4
Specify which version of the MQTT protocol should be used when connecting to the rmeote broker\&. Can be
\fB5\fR,
\fB311\fR,
\fB31\fR, or the more verbose
\fBmqttv5\fR,
\fBmqttv311\fR, or
\fBmqttv31\fR\&. Defaults to
\fB311\fR\&.
.RE
.SH "PROPERTIES"
.PP
The
\fB\-D\fR
/
\fB\-\-property\fR
option allows adding properties to different stages of the mosquitto_ctrl run\&. The properties supported for each command are as follows:
.SS "Connect"
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBauthentication\-data\fR
(binary data \- note treated as a string in mosquitto_ctrl)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBauthentication\-method\fR
(UTF\-8 string pair)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBmaximum\-packet\-size\fR
(32\-bit unsigned integer)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBreceive\-maximum\fR
(16\-bit unsigned integer)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBrequest\-problem\-information\fR
(8\-bit unsigned integer)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBrequest\-response\-information\fR
(8\-bit unsigned integer)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBsession\-expiry\-interval\fR
(32\-bit unsigned integer, note use
\fB\-x\fR
instead)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBtopic\-alias\-maximum\fR
(16\-bit unsigned integer)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBuser\-property\fR
(UTF\-8 string pair)
.RE
.SS "Publish"
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBcontent\-type\fR
(UTF\-8 string)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBcorrelation\-data\fR
(binary data \- note treated as a string in mosquitto_ctrl)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBmessage\-expiry\-interval\fR
(32\-bit unsigned integer)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBpayload\-format\-indicator\fR
(8\-bit unsigned integer)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBresponse\-topic\fR
(UTF\-8 string)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBtopic\-alias\fR
(16\-bit unsigned integer)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBuser\-property\fR
(UTF\-8 string pair)
.RE
.SS "Disconnect"
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBsession\-expiry\-interval\fR
(32\-bit unsigned integer)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBuser\-property\fR
(UTF\-8 string pair)
.RE
.SS "Will properties"
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBcontent\-type\fR
(UTF\-8 string)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBcorrelation\-data\fR
(binary data \- note treated as a string in mosquitto_ctrl)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBmessage\-expiry\-interval\fR
(32\-bit unsigned integer)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBpayload\-format\-indicator\fR
(8\-bit unsigned integer)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBresponse\-topic\fR
(UTF\-8 string)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBuser\-property\fR
(UTF\-8 string pair)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBwill\-delay\-interval\fR
(32\-bit unsigned integer)
.RE
.SH "EXIT STATUS"
.PP
mosquitto_sub returns zero on success, or non\-zero on error\&. If the connection is refused by the broker at the MQTT level, then the exit code is the CONNACK reason code\&. If another error occurs, the exit code is a libmosquitto return value\&.
.PP
MQTT v3\&.1\&.1 CONNACK codes:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB0\fR
Success
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB1\fR
Connection refused: Bad protocol version
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB2\fR
Connection refused: Identifier rejected
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB3\fR
Connection refused: Server unavailable
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB4\fR
Connection refused: Bad username/password
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB5\fR
Connection refused: Not authorized
.RE
.PP
MQTT v5 CONNACK codes:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB0\fR
Success
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB128\fR
Unspecified error
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB129\fR
Malformed packet
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB130\fR
Protocol error
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB131\fR
Implementation specific error
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB132\fR
Unsupported protocol version
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB133\fR
Client ID not valid
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB134\fR
Bad username or password
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB135\fR
Not authorized
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB136\fR
Server unavailable
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB137\fR
Server busy
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB138\fR
Banned
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB139\fR
Server shutting down
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB140\fR
Bad authentication method
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB141\fR
Keep alive timeout
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB142\fR
Session taken over
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB143\fR
Topic filter invalid
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB144\fR
Topic name invalid
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB147\fR
Receive maximum exceeded
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB148\fR
Topic alias invalid
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB149\fR
Packet too large
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB148\fR
Message rate too high
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB151\fR
Quota exceeded
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB152\fR
Administrative action
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB153\fR
Payload format invalid
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB154\fR
Retain not supported
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB155\fR
QoS not supported
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB156\fR
Use another server
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB157\fR
Server moved
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB158\fR
Shared subscriptions not supported
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB159\fR
Connection rate exceeded
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB160\fR
Maximum connect time
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB161\fR
Subscription IDs not supported
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB162\fR
Wildcard subscriptions not supported
.RE
.SH "BUGS"
.PP
\fBmosquitto\fR
bug information can be found at
\m[blue]\fB\%https://github.com/eclipse/mosquitto/issues\fR\m[]
.SH "SEE ALSO"
\fBmqtt\fR(7), \fBmosquitto_rr\fR(1), \fBmosquitto_pub\fR(1), \fBmosquitto_sub\fR(1), \fBmosquitto\fR(8), \fBlibmosquitto\fR(3), \fBmosquitto-tls\fR(7)
.SH "AUTHOR"
.PP
Roger Light
<roger@atchoo\&.org>
